Ethical hacking with Python